Computer program and environment testing is a process in which programs that are executable in a computing environment may be tested for desired functionality and/or stability. For example, a program and computing environment may be tested to ensure that the program and environment performs functions correctly on command, is free of bugs (e.g., errors or other defects), etc. Testing of programs and computing environments may be performed by developers during the development of a program prior to the program release in a defined computing environment.
Program testing may be performed using manual testing models, automated testing models, or both. In automated testing, the program and computing environment may be tested using a test suite that includes a set of test scripts or test instructions for testing the program and testing the robustness of the computing environment. The test suite may be executed against the program, application, and/or computing environment to determine whether the program and computing environment functions as expected.
Distributed applications may also execute within a virtualized service provider environment and may also need to be tested. A virtualized service provider environment may be made available to a customer (e.g., a person or a business) through a service provider that provides virtualization technologies for computing resources. Accordingly, the customer may, for example, launch virtual computing resources (e.g., computing instances, data store instances, distributed applications, individual applications, or other virtualized objects) within the customer's environment. These virtual computing resources may interact with one another within the virtualized service provider environment in various ways depending on how the service provider environment is designed. In addition, a distributed application in a virtualized computing service environment may be tested to determine how the distributed application performs under a load in the computing service environment. The customer may also desire to perform tests to verify that certain configurations, modifications, applications, scripts, patches, or bug fixes will properly supply the functionality desired by the virtual computing resources and distributed applications within the virtualized computing service environment.